﻿using FastMapper.Configuration;
using FastMapper.Core;
using FastMapper.UnitTests.TestEntities;
using NUnit.Framework;
using FluentAssertions;

namespace FastMapper.UnitTests.Configuration
{
    //[TestFixture]
    //public class PropertyMapConfigurationTests
    //{
    //    private readonly TypeInfo<ClassB> _destTypeInfo = new TypeInfo<ClassB>();
    //    private readonly TypeInfo<ClassA> _srcTypeInfo = new TypeInfo<ClassA>();
    //    private IPropertyMapConfigurator<ClassA> srcPropertyMapConfigurator;

    //    [TestFixtureSetUp]
    //    public void Init()
    //    {
    //        srcPropertyMapConfigurator = new PropertyMapConfigurator<ClassA>(_srcTypeInfo, _destTypeInfo.PropertyInfoAccessors["Property1"]);
    //    }

    //    [Test(Description = "Call The Method MapFrom Between Two Simple Properties")]
    //    public void Call_MapFrom_Between_Two_Simple_Properties()
    //    {
    //        srcPropertyMapConfigurator.MapFrom(c => c.Property2);
    //        srcPropertyMapConfigurator.SourcePropertyInfo.PropertyName.Should().Be("Property2");
    //    }

    //    [Test(Description = "Call The Method MapFrom Between Two Cmplex Properties")]
    //    public void Call_MapFrom_Between_Two_Complex_Properties()
    //    {
    //        srcPropertyMapConfigurator.MapFrom(c => c.ComplexProperty1.Property4);
    //        srcPropertyMapConfigurator.SourcePropertyInfo.PropertyName.Should().Be("ComplexProperty1.Property4");
    //    }
    //}
}